package tier2;


import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

import javax.swing.JTextArea;



import tier1.Abonne;
import tier3.Discussion;
import tier3.Message;
import tier3.Utilisateur;


public interface ServiceGestion extends Remote {

	public Utilisateur Authentification(String login, String motDePasse, Abonne abonne) throws RemoteException;
		public boolean Deconnection(Utilisateur u) throws RemoteException;
		public ArrayList<Message> RecuperationHistorique(Utilisateur utilisateur) throws RemoteException;
		public List<String> demandeListeConnecte (Utilisateur u) throws RemoteException;
		public Utilisateur rechercheContacte(String nom) throws RemoteException;
		public boolean demandeAjoutContact(String destintataire, Utilisateur demandeur) throws RemoteException;
		public boolean SuppressionContact(String loginSupprim, Utilisateur u)throws RemoteException;
		public Utilisateur CreationCompte(String nom,  String motDePasse) throws RemoteException;
		public void EnvoiMessage(String message,String expediteur)throws RemoteException;
		public String RecuperationMDP(String login)throws RemoteException;
		public boolean CreationDiscussion(Utilisateur utilisateur1,Utilisateur utilisateur2)throws RemoteException;
		public boolean AjoutPersonneDiscussion(Discussion conversation, Utilisateur utilisateur)throws RemoteException;
		public  String MethodeTeste()throws RemoteException;
		public LinkedList<String> listeconnecte() throws RemoteException;
		public boolean abonner(Abonne a) throws RemoteException;
		public boolean testUtilisateur(String u) throws RemoteException;
		public void EnvoiMessagePrive(String message,String expediteur,String destinataire)throws RemoteException;

		

}
